package slideWindow;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class maxSlideWindow {
    public static int[] findMaxSlideWindow(int[]array,int k){
        ArrayList<Integer> temp=new ArrayList<>();
        int[] result=new int[array.length-k+1];
        int count=0;
        for(int j=0;j<k;j++){
            temp.add(array[j]);
        }
        for (int i = k; i < array.length; i++) {
            int max=findMax(temp);
            result[count++]=max;
            if (array[i]>max){

                temp.clear();
            }
            else if (temp.size()==3)
            {
                temp.remove(0);
            }

            temp.add(array[i]);
        }
        int max=findMax(temp);
        result[array.length-k]=max;
        return result;
    }
    public static int findMax(ArrayList<Integer> list){
        Iterator<Integer> iterator = list.iterator();
        int[]array=new int[list.size()];
        for (int i = 0; i < array.length; i++) {
            array[i]=iterator.next();
        }
        int max=0;
        for (int i:array) {
            if (i>max){
                max=i;
            }

        }
        return max;
    }

    public static void main(String[] args) {
        int[] array={1,3,-1,-3,5,3,6,7};
        int[]temp=findMaxSlideWindow(array,3);
        int length =temp.length;
        for (int i=0;i<length;i++){
            System.out.println(temp[i]);
        }

    }
}
